package com.hbnu.system.model.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("fundscondition")
public class FundsCondition {

    /**
     * 主键 项目经费情况主键
     */
    @ApiModelProperty(value = "项目经费情况主键")
    @TableId(value = "FundsConditionID", type = IdType.ASSIGN_ID)
    private String fundsConditionID;

    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    @TableField(value = "projectId")
    private String projectid;
    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称")
    @TableField("projectName")
    private String projectName;

    /**
     * 承担单位
     */
    @ApiModelProperty(value = "承担单位")
    @TableField("unit")
    private String unit;

    /**
     * 项目负责人
     */
    @ApiModelProperty(value = "项目负责人")
    @TableField("head")
    private String head;

    /**
     * 项目来源单位
     */
    @ApiModelProperty(value = "项目来源单位")
    @TableField("projectUnit")
    private String projectUnit;

    /**
     * 立项日期
     */
    @ApiModelProperty(value = "立项日期")
    @TableField("approvalTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate approvalTime;

    /**
     * 项目总经费（万元
     */
    @ApiModelProperty(value = "项目总经费（万元")
    @TableField("projectTotalFunds")
    private String projectTotalFunds;

    /**
     * 预算经费（万元
     */
    @ApiModelProperty(value = "预算经费（万元")
    @TableField("budgetFunds")
    private String budgetFunds;

    /**
     * 到账经费（万元
     */
    @ApiModelProperty(value = "到账经费（万元")
    @TableField("arrivingFunds")
    private String arrivingFunds;

    /**
     * 支出经费（万元
     */
    @ApiModelProperty(value = "支出经费（万元")
    @TableField("outputFunds")
    private String outputFunds;

    /**
     * 划拨经费（万元
     */
    @ApiModelProperty(value = "划拨经费（万元")
    @TableField("allocateFunds")
    private String allocateFunds;

    /**
     * 预算结余经费（万元
     */
    @ApiModelProperty(value = "预算结余经费（万元")
    @TableField("surplusFunds")
    private String surplusFunds;

    /**
     * 经费执行率
     */
    @ApiModelProperty(value = "经费执行率")
    @TableField("fundRate")
    private String fundRate;

    /**
     * 所属院系
     */
    @ApiModelProperty(value = "所属院系")
    @TableField("dept")
    private String dept;

    /**
     * 项目级别
     */
    @ApiModelProperty(value = "项目级别")
    @TableField("projectLevel")
    private String projectLevel;

    /**
     * 项目来源
     */
    @ApiModelProperty(value = "项目来源")
    @TableField("projectOrigin")
    private String projectOrigin;

    /**
     * 经费来源
     */
    @ApiModelProperty(value = "经费来源")
    @TableField("FundsOrigin")
    private String fundsOrigin;

    /**
     * 到账编号
     */
    @ApiModelProperty(value = "到账编号")
    @TableField("arrivingFundsID")
    private String arrivingFundsID;
    /**
     * 退回原因
     */
    @ApiModelProperty(value = "退回原因")
    @TableField("reason")
    private String reason;
    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    @TableField("status")
    private String status;
    /**
     * 项目类型
     */
    @ApiModelProperty(value = "项目类型")
    @TableField("projectType")
    private String projectType;
}
